﻿using RockBus.Configuration.Interfaces;
using RockBus.Logging.Interfaces;
using RockBus.Messages.Interfaces;
using RockBus.PipelineComponent.Interfaces;

namespace RockBus.Pipeline
{
    public class PipelineContext : IPipelineContext
    {
        public PipelineContext(ILogger logger, IMessageFactory messageFactory, IReadOnlyConfiguration configuration)
        {
            this.Logger = logger;
            this.MessageFactory = messageFactory;
            this.Configuration = configuration;
        }

        public ILogger Logger { get; private set; }

        public IMessageFactory MessageFactory { get; private set; }

        public IReadOnlyConfiguration Configuration { get; private set; }
    }
}